#ifndef EXAMPLE_ECHO_SERVER_H
#define EXAMPLE_ECHO_SERVER_H

#include "../../include/tcp_server.h"

namespace example {
using namespace net;
/**
 * @brief 回射服务器示例，演示TcpServer的基本用法
 * 接收到客户端数据后立即回显，并在发送完成后关闭连接
 */
class EchoServer 
{
public:
    /**
     * @brief 构造函数
     * @param port 监听端口
     */
    EchoServer(int port);

    /**
     * @brief 启动服务器（阻塞当前线程）
     */
    void start();

private:
    // 回调函数
    void onConnected(const PtrConnection& conn);
    void onClosed(const PtrConnection& conn);
    void onMessage(const PtrConnection& conn, Buffer* buf);

    TcpServer _server;  // TCP服务器实例
};

} // namespace example

#endif // EXAMPLE_ECHO_SERVER_H